var ds;

var grid;
var insertForm;
var updateForm;
var form;
var win;
var spec, ssign, plate, transnum, ordernum, dateFrom, dateTo;
Ext.onReady(function() {
	/* 那些牌号啥的参数都已经保存在session中了 */
	// initStore();
	changeOrderLink();
	initData();
	initProcessGrid();
	initGrid();
		// initStore();
	

	});
var link;
function changeOrderLink()
{
	//alert("start");
	link=document.getElementById("orderLink");
	link.removeChild(link.lastChild);
	
	var text=document.createTextNode("选择毛坯规格和入库规格");
	var dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	var aTag=document.createElement("a");
	aTag.appendChild(text);
	aTag.setAttribute("href","orderCaiLiaoIndex.jsp");

	link.appendChild(aTag);
	
	 text=document.createTextNode("结算毛坯成本");
	 dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	 aTag=document.createElement("a");
	aTag.appendChild(text);
	aTag.setAttribute("href","orderModifyMaoPi.jsp");

	link.appendChild(aTag);
	
	 text=document.createTextNode("结算配方价,前道等费用");
	 dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	 aTag=document.createElement("a");
	aTag.appendChild(text);
	aTag.setAttribute("href","orderModifyOther.jsp");

	link.appendChild(aTag);
	
	 text=document.createTextNode("加工流程选择");
	 dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	 aTag=document.createElement("a");
	aTag.appendChild(text);
	aTag.setAttribute("href","orderJiaGongIndex.jsp");

	link.appendChild(aTag);
	
	 text=document.createTextNode("加工流程细节");
	 dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	 aTag=document.createElement("a");
	aTag.appendChild(text);
	//aTag.setAttribute("href","orderJiaGongDetail.jsp");
	
	link.appendChild(aTag);
	
	text=document.createTextNode("结算最终保存");
	 dir=document.createTextNode(">>");
	link.appendChild(dir);
	
	 aTag=document.createElement("a");
	aTag.appendChild(text);
	aTag.setAttribute("href","orderSaveIndex.jsp");
	
	link.appendChild(aTag);
	
}
var processDs, processDs2;
var statusArr = ["目标", "实际"];
var changeFlag=false;
function initData() {
	ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderJiaGongDetail.do?action=default'
						}),

				reader : new Ext.data.JsonReader({
							root : 'osmRoot'
						}, [{
									name : 'id',
									mapping : 'osm.id'
								}, {
									name : 'spec',
									mapping : 'osm.spec'
								}, {
									name : 'factory',
									mapping : 'osm.factory'

								}, {
									name : 'transnum',
									mapping : 'osm.transnum'
								}, {
									name : 'ordernum',
									mapping : 'osm.ordernum'
								}, {
									name : 'ssign',
									mapping : 'osm.ssign'
								}, {
									name : 'ssign_yz',
									mapping : 'osm.ssign_yz'
								}, {
									name : 'grossweight',
									mapping : 'osm.grossweight'
								}, {
									name : 'qiandao_yield',
									mapping : 'osm.qiandao_yield'
								}, {
									name : 'yimo',
									mapping : 'osm.yimo'
								}, {
									name : 'weimo',
									mapping : 'osm.weimo'
								}, {
									name : 'feipin',
									mapping : 'osm.feipin'
								}, {
									name : 'qiandao_cost',
									mapping : 'osm.qiandao_cost'
								}, {
									name : 'product_cost_before',
									mapping : 'osm.product_cost_before'
								}, {
									name : 'specType',
									mapping : 'osm.specType'
								}, {
									name : 'processScheme',
									mapping : 'osm.processScheme'
								}, {
									name : 'plate',
									mapping : 'osm.plate'
								}, {
									name : 'baozhuangfei',
									mapping : 'osm.baozhuangfei'
								}, {
									name : 'houdao_yield',
									mapping : 'osm.houdao_yield'
								}, {
									name : 'product_cost_last',
									mapping : 'osm.product_cost_last'
								}, {
									name : 'date1',
									mapping : 'osm.date1'
								}, {
									name : 'ordercost',
									mapping : 'osm.ordercost'
								}, {
									name : 'lirun',
									mapping : 'osm.lirun'
								}, {
									name : 'bz',
									mapping : 'osm.bz'
								}, {
									name : 'maker',
									mapping : 'osm.maker'
								}, {
									name : 'makeDate',
									mapping : 'osm.makeDate'
								}, {
									name : 'type',
									mapping : 'osm.type'
								}, {
									name : 'peifang',
									mapping : 'osm.peifang'
								}, {
									name : 'spec_yz',
									mapping : 'osm.spec_yz'
								}, {
									name : 'month1',
									mapping : 'osm.month1'
								}, {
									name : 'year1',
									mapping : 'osm.year1'
								}, {
									name : 'status',
									mapping : 'osm.status'
								}, {
									name : 'id2',
									mapping : 'osm2.id'

								}, {
									name : 'spec2',
									mapping : 'osm2.spec'
								}, {
									name : 'factory2',
									mapping : 'osm2.factory'

								}, {
									name : 'transnum2',
									mapping : 'osm2.transnum'
								}, {
									name : 'ordernum2',
									mapping : 'osm2.ordernum'
								}, {
									name : 'ssign2',
									mapping : 'osm2.ssign'
								}, {
									name : 'ssign_yz2',
									mapping : 'osm2.ssign_yz'
								}, {
									name : 'grossweight2',
									mapping : 'osm2.grossweight'
								}, {
									name : 'qiandao_yield2',
									mapping : 'osm2.qiandao_yield'
								}, {
									name : 'yimo2',
									mapping : 'osm2.yimo'
								}, {
									name : 'weimo2',
									mapping : 'osm2.weimo'
								}, {
									name : 'feipin2',
									mapping : 'osm2.feipin'
								}, {
									name : 'qiandao_cost2',
									mapping : 'osm2.qiandao_cost'
								}, {
									name : 'product_cost_before2',
									mapping : 'osm2.product_cost_before'
								}, {
									name : 'specType2',
									mapping : 'osm2.specType'
								}, {
									name : 'processScheme2',
									mapping : 'osm2.processScheme'
								}, {
									name : 'plate2',
									mapping : 'osm2.plate'
								}, {
									name : 'baozhuangfei2',
									mapping : 'osm2.baozhuangfei'
								}, {
									name : 'houdao_yield2',
									mapping : 'osm2.houdao_yield'
								}, {
									name : 'product_cost_last2',
									mapping : 'osm2.product_cost_last'
								}, {
									name : 'date12',
									mapping : 'osm2.date1'
								}, {
									name : 'ordercost2',
									mapping : 'osm2.ordercost'
								}, {
									name : 'lirun2',
									mapping : 'osm2.lirun'
								}, {
									name : 'bz2',
									mapping : 'osm2.bz'
								}, {
									name : 'maker2',
									mapping : 'osm2.maker'
								}, {
									name : 'makeDate2',
									mapping : 'osm2.makeDate'
								}, {
									name : 'type2',
									mapping : 'osm2.type'
								}, {
									name : 'peifang2',
									mapping : 'osm2.peifang'
								}, {
									name : 'spec_yz2',
									mapping : 'osm2.spec_yz'
								}, {
									name : 'month12',
									mapping : 'osm2.month1'
								}, {
									name : 'year12',
									mapping : 'osm2.year1'
								}, {
									name : 'status2',
									mapping : 'osm2.status'
								}])
			});

	ds.load({
		params : {

			test : 11
		},
		callback : function(records, o, s) {
			if (s) {
				form.getForm().loadRecord(ds.getAt(0));
				// 读取面积加工的公式
				schemeStore.load({
							params : {
								specName : ds.getAt(0).data["specType"],
								scheme : ds.getAt(0).data["processScheme"]
							},
							callback : function(_record, o, s) {
								// 设置加工面积
								var i = 0;
								schemeStore.each(function(_ret) {

									AREA
											.push(new AreaFunc(_ret.data["areaFunc"]));
										// alert(_ret.data["areaFunc"]+"::"+AREA[i++].outFunc());
								});

							}

						});
			}
		}
	});
	processDs = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderJiaGongDetail.do?action=defaultList'
						}),

				reader : new Ext.data.JsonReader({
							root : 'processRoot'
						}, [{
									name : 'id'
								}, {
									name : 'orderSumId'
								}, {
									name : 'processName'
								}, {
									name : 'afterSpec'
								}, {
									name : 'processYield'
								}, {
									name : 'processUpdate'
								}, {
									name : 'unitPrice'
								}, {
									name : 'processArea'
								}, {
									name : 'processPrice'
								}, {
									name : 'untilPrice'
								}, {
									name : 'type'
								}, {
									name : 'processNum'
								}, {
									name : 'processPos'
								}, {
									name : 'status'
								}])
			});

	processDs.load({
				params : {

					test : 11
				},

				callback : function(records, o, s) {
					if (s) {
						dwr.engine.setAsync(false);
						processDs.each(function(_rec) {
									_rec.data["status"] = statusArr[_rec.data["type"]];
									// 设置一下电镀价格
									if (_rec.data["processName"] == "电镀") {
										dianDu.getDianDuPrice(
												ds.getAt(0).data["plate"],
												function(_ret) {
													_rec.data["unitPrice"] = _ret;
												});
									}
									_rec.data["processArea"]=Area[_rec.data["processNum"]-1].doAction(_rec.data["afterSpec"]);
								
								})
						dwr.engine.setAsync(true);
						grid.getView().refresh();
					}
				}
			});
	processDs.on("update", function(_this, _rec, _opt) {
		// 进行计算
		// 总价
		
		if(!changeFlag)
		{
			
		_rec.data["processPrice"] = (_rec.data["processArea"]
				* _rec.data["unitPrice"] * _rec.data["processUpdate"]);
		}
		var up
		// 到目前为止价格
		if (_rec.data["processPos"] == 1) {
			// 查找材料费
			var cailiao = form.find("name", "product_cost_before")[0]
					.getValue();
			if (_rec.data["processNum"] == 0 || _rec.data["processYield"] == 0) {
				return true;
			}

			_rec.data["untilPrice"] = (cailiao / _rec.data["processNum"] + parseFloat(_rec.data["processPrice"]))
					/ _rec.data["processYield"];
			up = _rec;
		} else {
			up = processDs2.getAt(_rec.data["processPos"] - 2);
		}

		var now;
		// alert(_rec.data["processPos"]+"::"+processDs2.getCount());
		for (var i = 1 < _rec.data["processPos"] - 1 ? _rec.data["processPos"]
				- 1 : 1; i < processDs.getCount(); i++) {
			now = processDs.getAt(i);
			now.data["untilPrice"] = (up.data["untilPrice"]
					/ now.data["processNum"] + parseFloat(now.data["processPrice"]))
					/ now.data["processYield"];
			up = now;

		}
		grid.getView().refresh();
	});

	processDs2 = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderJiaGongDetail.do?action=defaultList2'
						}),

				reader : new Ext.data.JsonReader({
							root : 'processRoot'
						}, [{
									name : 'id'
								}, {
									name : 'orderSumId'
								}, {
									name : 'processName'
								}, {
									name : 'afterSpec'
								}, {
									name : 'processYield'
								}, {
									name : 'processUpdate'
								}, {
									name : 'unitPrice'
								}, {
									name : 'processArea'
								}, {
									name : 'processPrice'
								}, {
									name : 'untilPrice'
								}, {
									name : 'type'
								}, {
									name : 'processNum'
								}, {
									name : 'processPos'
								}, {
									name : 'status'
								}])
			});

	processDs2.load({
				params : {

					test : 11
				},

				callback : function(records, o, s) {
					if (s) {
						dwr.engine.setAsync(false);
						processDs2.each(function(_rec) {
									_rec.data["status"] = statusArr[_rec.data["type"]];
									// 设置一下电镀价格
									if (_rec.data["processName"] == "电镀") {
										dianDu.getDianDuPrice(
												ds.getAt(0).data["plate"],
												function(_ret) {
													_rec.data["unitPrice"] = _ret;
												});
									}
								})
						dwr.engine.setAsync(true);
						grid2.getView().refresh();
					}
				}
			});
	processDs2.on("update", function(_this, _rec, _opt) {
		// 进行计算
		// 总价
		//alert(changeFlag);
		if(!changeFlag)
		{
			
		_rec.data["processPrice"] = (_rec.data["processArea"]
				* _rec.data["unitPrice"] * _rec.data["processUpdate"]);
		}
		var up;
		// 到目前为止价格
		if (_rec.data["processPos"] == 1) {
			// 查找材料费
			var cailiao = form.find("name", "product_cost_before2")[0]
					.getValue();
			if (_rec.data["processNum"] == 0 || _rec.data["processYield"] == 0) {
				return true;
			}

			_rec.data["untilPrice"] = (cailiao / _rec.data["processNum"] + parseFloat(_rec.data["processPrice"]))
					/ _rec.data["processYield"];
			//alert(_rec.data["processPrice"]+":"+cailiao+":"+_rec.data["processNum"]+":"+_rec.data["processYield"]);
			//alert(_rec.data["untilPrice"]);
			up = _rec;
		}
		// 接下来更新剩余的到目前为止加工费
		else {
			up = processDs2.getAt(_rec.data["processPos"] - 2);
		}

		var now;
		// alert(_rec.data["processPos"]+"::"+processDs2.getCount());
		for (var i = 1 < _rec.data["processPos"] - 1 ? _rec.data["processPos"]
				- 1 : 1; i < processDs2.getCount(); i++) {
			now = processDs2.getAt(i);
			now.data["untilPrice"] = (up.data["untilPrice"]
					/ now.data["processNum"] + parseFloat(now.data["processPrice"]))
					/ now.data["processYield"];
			up = now;

		}
		
		grid2.getView().refresh();
	});
	initSchemeStore();

};
var AREA = [];
var schemeStore;
function initSchemeStore() {
	schemeStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderProcessAdd.do?action=processNameList'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'id'
								}, {
									name : 'specName'
								}, {
									name : 'scheme'
								}, {
									name : 'processName'
								}, {
									name : 'processPos'
								}, {
									name : 'areaFunc'
								}, {
									name : 'bz'
								}, {
									name : 'date1'
								}])
			});
}
var windowSm;
var windowDs;
function getUpdateForm() {
	if (!updateForm) {
		updateForm = new Ext.FormPanel({
			labelWidth : 75,
			url : 'orderInput.do?action=jump',
			frame : true,
			bodyStyle : 'padding:5px 5px 0',
			width : 340,
			defaults : {
				width : 230
			},
			ddGroup : 'gridDDGroup',
			// region : 'center',
			defaultType : 'textfield',
			items : [{
						fieldLabel : '编号',// 一开始漏了个主id,导致update不成功
						name : 'id',
						readOnly : true,
						allowBlank : false
					}, {
						fieldLabel : '对应主订单编号',// 一开始漏了个主id,导致update不成功
						name : 'orderSumId',
						readOnly : true,
						allowBlank : false
					}, {
						fieldLabel : '加工名称',// 一开始漏了个主id,导致update不成功
						name : 'processName',
						readOnly : true,
						allowBlank : false
					}, {
						fieldLabel : '加工步骤',// 一开始漏了个主id,导致update不成功
						name : 'processPos',
						readOnly : true,
						allowBlank : false
					}, {
						fieldLabel : '加工后规格',// 一开始漏了个主id,导致update不成功
						name : 'afterSpec',
						listeners : {
							"change" : function(_this, _new, _old) {
								var P = updateForm.find("name", "processPos")[0]
										.getValue();
								var R = AREA[P - 1].doAction(_new);
								updateForm.find("name", "processArea")[0]
										.setValue(R);
							}
						},
						allowBlank : false
					}, {
						fieldLabel : '加工数量',// 一开始漏了个主id,导致update不成功
						name : 'processNum',
						allowBlank : false
					}, {
						fieldLabel : '加工面积',// 一开始漏了个主id,导致update不成功
						name : 'processArea',
						listeners : {
							"change" : function(_this, _new, _old) {
								_this.setValue(eval(_new));
							}
						},
						allowBlank : false
					}, {
						fieldLabel : '加工单价',// 一开始漏了个主id,导致update不成功
						name : 'unitPrice',
						listeners : {
							"change" : function(_this, _new, _old) {
								_this.setValue(eval(_new));
							}
						},
						allowBlank : false
					}, {
						fieldLabel : '加工提升',// 一开始漏了个主id,导致update不成功
						name : 'processUpdate',
						allowBlank : false
					}, {
						fieldLabel : '加工成品率',// 一开始漏了个主id,导致update不成功
						name : 'processYield',
						allowBlank : false
					}, {
						fieldLabel : '加工费用',// 一开始漏了个主id,导致update不成功
						name : 'processPrice',
						//readOnly : true,
						listeners:{
						"change":function(_this,_new,_old)
						{
							changeFlag=true;
							//alert("true");
						}
						},
						allowBlank : false
					}, {
						fieldLabel : '到目前为止费用',// 一开始漏了个主id,导致update不成功
						name : 'untilPrice',
						readOnly : true,
						allowBlank : false
					}]
		});
	}
	return updateForm;
}// 构造了一个更新的界面。

function initGrid() {
	Ext.QuickTips.init();

	var xg = Ext.grid;
	/*
	 * if (!form) form = getUpdateForm();
	 */
	/* win */
	if (!updateForm)
		updateForm = getUpdateForm();

	// ////////////////////////////////////////////////////////////////////////////////
	// Grid
	// //////////////////////////////////////////////////////////////////////////////////////
	var sm = new xg.CheckboxSelectionModel();
	form = new Ext.FormPanel({
		renderTo : 'main',
		url : '../orderJiaGongDetail.do?action=update',
		labelAlign : 'left',
		title : '详细信息',
		ds : ds,
		buttonAlign : 'right',
		bodyStyle : 'padding:5px;',
		width : 720,
		frame : true,// 设置了面板的边角是圆弧过度的，底色
		labelWidth : 80,
		autoScroll : true,
		items : [{
					region : 'center',
					// width : 470,
					layout : 'column',
					autoHeight : true,
					split : true,
					// defaultType: 'textfield',
					items : [{
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '目标基本信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '编号',
											border : false,
											readOnly : true,
											name : 'id2',
											anchor : '90%'

										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '年份',
											readOnly : true,
											// value : _cus.attn,
											name : "year12",
											anchor : '90%',
											border : false

										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '月份',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "month12",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '规格',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "spec2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '牌号',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "ssign2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											border : false,
											fieldLabel : '订单号',

											readOnly : true,
											// value : _cus.attn,
											name : "transnum2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '订单数量',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "ordernum2",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '实际基本信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '编号',
											border : false,
											readOnly : true,
											name : 'id',
											anchor : '90%'

										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '年份',
											readOnly : true,
											// value : _cus.attn,
											name : "year1",
											anchor : '90%',
											border : false

										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '月份',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "month1",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '规格',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "spec",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '牌号',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "ssign",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											border : false,
											fieldLabel : '订单号',

											readOnly : true,
											// value : _cus.attn,
											name : "transnum",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '订单数量',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "ordernum",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '目标毛坯信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '分厂号',
											border : false,
											readOnly : true,
											name : "factory2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '入库牌号',
											border : false,
											readOnly : true,
											name : "ssign_yz2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '入库规格',
											readOnly : true,
											border : false,
											name : "spec_yz2",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '实际毛坯信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '分厂号',
											border : false,
											readOnly : true,
											name : "factory",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '入库牌号',
											border : false,
											readOnly : true,
											name : "ssign_yz",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '入库规格',
											border : false,
											readOnly : true,
											name : "spec_yz",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '目标毛坯加工信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '配方价格',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "peifang2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '前道收得率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "qiandao_yield2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '未磨成品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "weimo2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '已磨成品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "yimo2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '毛重',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "grossweight2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '废品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "feipin2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '前道费用',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "qiandao_cost2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '产品入库成本',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "product_cost_before2",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '实际毛坯加工信息',
								collapsible : true,
								collapsed : true,
								anchor : '95%',
								autoHeight : true,

								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '配方价格',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "peifang",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '前道收得率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "qiandao_yield",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '未磨成品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "weimo",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '已磨成品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "yimo",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '毛重',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "grossweight",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '废品率',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "feipin",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '前道费用',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "qiandao_cost",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '产品入库成本',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "product_cost_before",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '目标加工信息',
								collapsible : true,

								anchor : '95%',
								autoHeight : true,
								// collapsed : true,
								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '规格类型',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "specType2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '加工流程编号',
											border : false,

											readOnly : true,
											// value : _cus.attn,
											name : "processScheme2",
											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '镀层',
											border : false,

											// readOnly : true,
											// value : _cus.attn,
											name : "plate2",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '实际加工信息',
								collapsible : true,

								anchor : '95%',
								autoHeight : true,
								// collapsed : true,
								hideBorders : true,
								defaultType : 'textfield',
								items : [{
											columnWidth : .251,
											fieldLabel : '规格类型',
											readOnly : true,
											// value : _cus.attn,
											name : "specType",

											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '加工流程编号',
											border : false,

											// readOnly : true,
											// value : _cus.attn,

											readOnly : true,
											// value : _cus.attn,
											name : "processScheme",

											anchor : '90%'
										}, {
											columnWidth : .251,
											layout : 'form',
											fieldLabel : '镀层',
											// readOnly : true,
											// value : _cus.attn,
											name : "plate",
											anchor : '90%'
										}]
							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '目标详细加工费',
								collapsible : true,

								anchor : '95%',
								autoHeight : true,
								// collapsed : true,
								hideBorders : true,

								items : grid2

							}, {
								columnWidth : .49,
								layout : 'form',
								xtype : 'fieldset',
								title : '实际详细加工费',
								collapsible : true,

								anchor : '95%',
								autoHeight : true,
								// collapsed : true,
								hideBorders : true,

								items : grid

							}]

				}],
		buttons : [{
					text : '修改',
					handler : function() {
						if (processSm.getCount() == 1) { // update form to
							// update
							changeFlag=false;
							winDs = processDs;
							windowSm = processSm;
							updateForm = getUpdateForm();
							// form.show();
							var items = new Ext.util.MixedCollection();
							items.add("updateForm", updateForm);
							win.width = 355, win.items = items;

							win.show(this);
							initDD();
							updateForm.getForm().reset();
							updateForm.getForm().loadRecord(processSm
									.getSelected());
						} else if (processSm2.getCount() == 1) {
							changeFlag=false;
							winDs = processDs2;
							windowSm = processSm2;
							updateForm = getUpdateForm();
							// form.show();
							var items = new Ext.util.MixedCollection();
							items.add("updateForm", updateForm);
							win.width = 355, win.items = items;

							win.show(this);
							initDD();
							updateForm.getForm().reset();
							updateForm.getForm().loadRecord(processSm2
									.getSelected());
						} else {
							Ext.MessageBox.alert('提示', '请选择一条记录！');
						}
					}
				}, {
					text : '保存加工结算',
					handler : function() {
						/* 通过dwr,将所有的数据保存进数据库 */
						Ext.MessageBox.confirm('提示', '你确定要保存这些加工信息么?',
								function(button) {
									if (button == 'yes') {
										dwr.engine.setAsync(false);
										processDs.each(function(_rec) {
											var _r = {
												"afterSpec" : _rec.data["afterSpec"],
												"beforeSpec" : _rec.data["beforeSpec"],
												"id" : _rec.data["id"],
												"orderSumId" : _rec.data["orderSumId"],
												"processArea" : _rec.data["processArea"],
												"processName" : _rec.data["processName"],
												"processNum" : _rec.data["processNum"],
												"processPos" : _rec.data["processPos"],
												"processPrice" : _rec.data["processPrice"],
												"processUpdate" : _rec.data["processUpdate"],
												"processYield" : _rec.data["processYield"],
												"type" : _rec.data["type"],
												"unitPrice" : _rec.data["unitPrice"],
												"untilPrice" : _rec.data["untilPrice"]
											};
											orderJiaGongDetail.saveProcess(_r,
													function(_ret) {

													});

										})
										processDs2.each(function(_rec) {
											var _r = {
												"afterSpec" : _rec.data["afterSpec"],
												"beforeSpec" : _rec.data["beforeSpec"],
												"id" : _rec.data["id"],
												"orderSumId" : _rec.data["orderSumId"],
												"processArea" : _rec.data["processArea"],
												"processName" : _rec.data["processName"],
												"processNum" : _rec.data["processNum"],
												"processPos" : _rec.data["processPos"],
												"processPrice" : _rec.data["processPrice"],
												"processUpdate" : _rec.data["processUpdate"],
												"processYield" : _rec.data["processYield"],
												"type" : _rec.data["type"],
												"unitPrice" : _rec.data["unitPrice"],
												"untilPrice" : _rec.data["untilPrice"]
											};
											orderJiaGongDetail.saveProcess(_r,
													function(_ret) {

													});

										})
										dwr.engine.setAsync(true);
										Ext.Msg.alert("提示", "加工保存成功");
									}
								});
					}
				},{
					text : '读取成品率',
					handler : function() {
						if (processSm.getCount() == 1) { // update form to
							// update
							var arr = processSm.getSelections();
							var data;
							for (var i = 0; i < arr.length; i++) {
								data = arr[i].data;
								orderJiaGongDetail.getYield(data["type"],
										data["processName"], form.find("name",
												"ssign_yz")[0].getValue(),
										data["afterSpec"], form.find("name",
												"month1")[0].getValue(), form
												.find("name", "year1")[0]
												.getValue(), function(_ret) {
											data["processYield"] = _ret;
											grid.getView().refresh();
										});
							}
							// processDs.commitChanges();

						} else if (processSm2.getCount() == 1) {
							var arr = processSm2.getSelections();
							var data;
							for (var i = 0; i < arr.length; i++) {
								data = arr[i].data;
								orderJiaGongDetail.getYield(data["type"],
										data["processName"], form.find("name",
												"ssign_yz")[0].getValue(),
										data["afterSpec"], form.find("name",
												"month1")[0].getValue(), form
												.find("name", "year1")[0]
												.getValue(), function(_ret) {
											data["processYield"] = _ret;
											grid2.getView().refresh();
										});
							}
						} else {
							Ext.MessageBox.alert('提示', '请选择一条记录！');
						}
					}
				}, {
					text : '提交',
					handler : function() {
						window.location.href = "orderSaveIndex.jsp";
					}
				}]
	});
	win = new Ext.Window({

				layout : 'column',
				width : 640,
				autoHeight : true, // 4601782
				closeAction : 'hide',
				plain : true,
				items : updateForm,
				modal : false,// 如果这个属性不设，弹出窗口会增加20M内存使用。
				buttons : [{
					text : '保存',
					handler : function() {
						if (updateForm.getForm().isValid()) {
							var _rec;

							_rec = windowSm.getSelections()[0];

							_rec.data["afterSpec"] = updateForm.find("name",
									"afterSpec")[0].getValue();
							_rec.data["processArea"] = updateForm.find("name",
									"processArea")[0].getValue();
							_rec.data["processName"] = updateForm.find("name",
									"processName")[0].getValue();
							_rec.data["processNum"] = updateForm.find("name",
									"processNum")[0].getValue();
							_rec.data["processPos"] = updateForm.find("name",
									"processPos")[0].getValue();
							// _rec.data["processPrice"]=updateForm.find("name","processPrice")[0].getValue();
							_rec.data["processUpdate"] = updateForm.find(
									"name", "processUpdate")[0].getValue();
							_rec.data["processYield"] = updateForm.find("name",
									"processYield")[0].getValue();
							_rec.data["unitPrice"] = updateForm.find("name",
									"unitPrice")[0].getValue();
									_rec.data["processPrice"] = updateForm.find("name",
									"processPrice")[0].getValue();
							if(windowSm==processSm)
							grid.getView().getRowClass = function(record, index) {
								if(_rec.data["processPos"]==index+1)
								return 'red-row' ;
							};
							else
							grid2.getView().getRowClass = function(record, index) {
								if(_rec.data["processPos"]==index+1)
								return 'red-row' ;
							};
							winDs.fireEvent("update", this, _rec);

							win.hide();

						} else {
							Ext.MessageBox.alert('提示', '请正确填写数据！');
						}
					}
				}, {
					text : '清空',
					handler : function() {
						updateForm.getForm().reset();

					}
				}]
			});

	win.on("hide", function(_this) {
				processSm.clearSelections();
				processSm2.clearSelections();

			});

};
var flag = false;
function initDD() {
	if (!flag) {
		var formPanelDropTargetEl = updateForm.getEl();
		var formPanelDropTarget = new Ext.dd.DropTarget(formPanelDropTargetEl,
				{
					ddGroup : 'gridDDGroup',
					notifyEnter : function(ddSource, e, data) {

						// Add some flare to invite drop.
						// alert(ddSource.getCount());
						updateForm.body.stopFx();
						updateForm.body.highlight();
					},
					notifyDrop : function(ddSource, e, data) {

						var selectedRecord = ddSource.dragData.selections[0];
						// 这里需要处理一下，原来的编号，主id编号不变
						var _rec = windowSm.getSelections()[0];
						selectedRecord.data["id"] = _rec.data["id"];
						selectedRecord.data["ordersumid"] = _rec.data["ordersumid"];
						selectedRecord.data["processName"] = _rec.data["processName"];
						selectedRecord.data["processPos"] = _rec.data["processPos"];
						// Load the record into the form
						updateForm.getForm().loadRecord(selectedRecord);

						return (true);
					}
				});
		flag = true;
	}
}
var ssign;
var cm, grid;
var fm = Ext.form;
var processSm, processSm2;
var grid2;
var sm2;
function initProcessGrid() {
	var sm = new Ext.grid.CheckboxSelectionModel();
	processSm = sm;
	var sm2 = new Ext.grid.CheckboxSelectionModel();
	processSm2 = sm2;
	cm = new Ext.grid.ColumnModel([sm, {
				header : "目标或实际",
				width : 80,
				dataIndex : 'status',
				editor : new fm.TextField({
							allowBlank : false
						})
			}, {
				header : "加工流程编号",
				width : 80,
				dataIndex : 'id',
				editor : new fm.NumberField({
							allowBlank : false
						})
			}, {
				header : "加工步骤",
				width : 80,
				dataIndex : 'processPos',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工名称",
				width : 80,
				dataIndex : 'processName',
				editor : new fm.TextField({
							allowBlank : false
						})

			}, {
				header : "加工后规格",
				width : 80,
				dataIndex : 'afterSpec',
				editor : new fm.TextField({
							allowBlank : false
						})

			}, {
				header : "加工面积",
				width : 80,
				dataIndex : 'processArea',

				editor : new fm.NumberField({
							allowBlank : false
						})
			}, {
				header : "加工数量",
				width : 80,
				dataIndex : 'processNum',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工单价",
				width : 80,
				dataIndex : 'unitPrice',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工提升",
				width : 80,
				dataIndex : 'processUpdate',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工成品率",
				width : 80,
				dataIndex : 'processYield',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工总价",
				width : 80,
				dataIndex : 'processPrice',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "到目前为止价格",
				width : 80,
				dataIndex : 'untilPrice',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}]);

	grid = new Ext.grid.EditorGridPanel({
				enableDragDrop : true,
				// region : 'west',
				ddGroup : 'gridDDGroup',
				viewConfig : {
					forceFit : false
				},
				autoScroll : true,
				ds : processDs,
				cm : cm,
				sm : sm,
				height : 300,
				width : 350,

				title : '实际加工流程'
			});

	cm = new Ext.grid.ColumnModel([sm2, {
				header : "目标或实际",
				width : 80,
				dataIndex : 'status',
				editor : new fm.TextField({
							allowBlank : false
						})
			}, {
				header : "加工流程编号",
				width : 80,
				dataIndex : 'id',
				editor : new fm.NumberField({
							allowBlank : false
						})
			}, {
				header : "加工步骤",
				width : 80,
				dataIndex : 'processPos',
				editor : new fm.NumberField({
							allowBlank : false
						})

			}, {
				header : "加工名称",
				width : 80,
				dataIndex : 'processName',
				editor : new fm.TextField({
							allowBlank : false
						})

			}, {
				header : "加工后规格",
				width : 80,
				dataIndex : 'afterSpec',
				editor : new fm.TextField({
							allowBlank : false
						})

			}, {
				header : "加工面积",
				width : 80,
				dataIndex : 'processArea',

				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})
			}, {
				header : "加工数量",
				width : 80,
				dataIndex : 'processNum',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}, {
				header : "加工单价",
				width : 80,
				dataIndex : 'unitPrice',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}, {
				header : "加工提升",
				width : 80,
				dataIndex : 'processUpdate',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}, {
				header : "加工成品率",
				width : 80,
				dataIndex : 'processYield',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}, {
				header : "加工总价",
				width : 80,
				dataIndex : 'processPrice',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}, {
				header : "到目前为止价格",
				width : 80,
				dataIndex : 'untilPrice',
				editor : new fm.NumberField({
							decimalPrecision : 7,
							allowBlank : false
						})

			}]);
	grid2 = new Ext.grid.EditorGridPanel({
				enableDragDrop : true,
				// region : 'west',
				ddGroup : 'gridDDGroup',
				viewConfig : {
					forceFit : false
				},
				autoScroll : true,
				ds : processDs2,
				cm : cm,
				sm : sm2,
				height : 300,
				width : 350,

				title : '目标加工流程'
			});
	// form.add(grid);
}


